WIP: make GtkNotebook window-draggable
authorDiego Escalante Urrelo <diegoe@igalia.com>
Wed, 28 Mar 2012 08:38:10 +0000 (03:38 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 28 Apr 2012 06:01:16 +0000 (02:01 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=672427

https://bugzilla.gnome.org/show_bug.cgi?id=674587

gtk/gtknotebook.c
tests/testgtk.css

index 5978e3dac6b21a48f8babbc84901b553f5d049c7..5deaed609958e1064551779957589c05aa02eaa3 100644 (file)
@@ -2949,6 +2949,32 @@ gtk_notebook_button_press (GtkWidget      *widget,
           priv->drag_offset_y = priv->drag_begin_y - page->allocation.y;
         }
     }
+  else
+    {
+      GtkWidget *window;
+      window = gtk_widget_get_toplevel (widget);
+
+      if (window)
+        {
+          gboolean window_drag = FALSE;
+          gtk_widget_style_get (widget,
+                                "window-dragging", &window_drag,
+                                NULL);
+
+          if (window_drag)
+            {
+              priv->during_detach = FALSE;
+              priv->during_reorder = FALSE;
+              priv->pressed_button = event->button;
+
+              gtk_window_begin_move_drag (GTK_WINDOW (window),
+                                          event->button,
+                                          event->x_root,
+                                          event->y_root,
+                                          event->time);
+            }
+        }
+    }
 
   return TRUE;
 }
index f5e8694f12704c68095ecb7139ac1d5163b194a3..5a6c6c169972f5523368b0ae178c25a446f6cd2d 100644 (file)
     -Gtest-bar: 47;
 }
 
+GtkNotebook {
+    -GtkWidget-window-dragging: true;
+}
+
 GtkLabel:selected {
     background-color: gray;
 }